package com.miyu.system.controller.menu;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.miyu.system.service.menu.SysMenuService;
import org.springframework.data.annotation.Reference;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * 系统菜单控制器
 *
 * @author longm
 * @date 2022/10/03
 */
@RestController
@RequestMapping(value = "/sys-menu")
public class SysMenuController {

        @Resource
        private SysMenuService service;

        /**
         * 保存菜单
         *
         * @param params 参数个数
         * @return {@link JSONObject}
         */
        @RequestMapping(value = "saveMenu")
        public JSONObject saveMenu(@RequestBody  JSONObject params) {
                return  service.saveMenu(params);
        }

        /**
         * 戴尔系统菜单
         *
         * @param params 参数个数
         * @return {@link JSONObject}
         */
        @RequestMapping(value = "deleteMenu")
        public JSONObject delSysMenu(@RequestBody  JSONObject params){
                return  service.delSysMenu(params);
        }

        /**
         * 查询sys菜单
         *表查询
         * @param params 参数个数
         * @return {@link JSONArray}
         */
        @RequestMapping(value = "queryMenu")
        public JSONArray queryMenu(@RequestBody  JSONObject params){
                return  service.queryMenu(params);
        }

        /**
         * 查询系统菜单（菜单管理界面查询）
         *树状结构域
         * @param param 参数
         * @return {@link JSONArray}
         */
        @RequestMapping(value = "querySysMenu")
        public JSONArray querySysMenu(@RequestBody JSONObject param){

                return  service.querySysMenu(param);
        }

        /**
         * 获取系统空间
         *
         * @return {@link JSONArray}
         */
        @RequestMapping("getSysSpace")
        public JSONArray getSysSpace(){
                return  service.getSysSpace();
        }

        /**
         * 获取系统菜单通过权限
         *
         * @param params 参数个数
         * @return {@link JSONArray}
         */
        @RequestMapping("getSysMenuByAuthority")
        public JSONArray getSysMenuByAuthority(@RequestBody  JSONObject params){
                return  service.getSysMenuByAuthority(params);
        }
}
